package py.com.alfa.escriba.gui.dto.query;

import java.util.Date;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.dto.admin.EscribanosDTO;
import py.com.alfa.escriba.gui.dto.admin.TabRefDTO;
import py.com.alfa.escriba.gui.utils.ObjectUtils;

@JsonIgnoreProperties(ignoreUnknown = true)
public class ControlesQueryDTO {

	private Long idEscribano;
	private String nombreEscribano;
	private Long nroControl;
	private Long idEstado;
	private Date fechaDesde;
	private Date fechaHasta;
	private String ordenEscritura;

	private Integer nroEscritura;
	private Long idTipoProtocolo;
	private Integer folio;

	private String nombreCompleto;

	private String chasisSerie;
	private String chapa;

	private Long idDistrito;
	private String fincaMatricula;

	private EscribanosDTO escribano;
	private TabRefDTO estado;
	private TabRefDTO tipoProtocolo;

	public Long getIdEscribano() {
		return idEscribano;
	}

	public void setIdEscribano(Long idEscribano) {
		this.idEscribano = idEscribano;
	}

	public String getNombreEscribano() {
		return nombreEscribano;
	}

	public void setNombreEscribano(String nombreEscribano) {
		this.nombreEscribano = ObjectUtils.parseString(nombreEscribano);
	}

	public Long getNroControl() {
		return nroControl;
	}

	public void setNroControl(Long nroControl) {
		this.nroControl = nroControl;
	}

	public Long getIdEstado() {
		return idEstado;
	}

	public void setIdEstado(Long idEstado) {
		this.idEstado = idEstado;
	}

	public Date getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(Date fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public Date getFechaHasta() {
		return fechaHasta;
	}

	public void setFechaHasta(Date fechaHasta) {
		this.fechaHasta = fechaHasta;
	}

	public String getOrdenEscritura() {
		return ordenEscritura;
	}

	public void setOrdenEscritura(String ordenEscritura) {
		this.ordenEscritura = ObjectUtils.parseString(ordenEscritura);
	}

	public Integer getNroEscritura() {
		return nroEscritura;
	}

	public void setNroEscritura(Integer nroEscritura) {
		this.nroEscritura = nroEscritura;
	}

	public Long getIdTipoProtocolo() {
		return idTipoProtocolo;
	}

	public void setIdTipoProtocolo(Long idTipoProtocolo) {
		this.idTipoProtocolo = idTipoProtocolo;
	}

	public Integer getFolio() {
		return folio;
	}

	public void setFolio(Integer folio) {
		this.folio = folio;
	}

	public String getNombreCompleto() {
		return nombreCompleto;
	}

	public void setNombreCompleto(String nombreCompleto) {
		this.nombreCompleto = ObjectUtils.parseString(nombreCompleto);
	}

	public String getChasisSerie() {
		return chasisSerie;
	}

	public void setChasisSerie(String chasisSerie) {
		this.chasisSerie = chasisSerie;
	}

	public String getChapa() {
		return chapa;
	}

	public void setChapa(String chapa) {
		this.chapa = chapa;
	}

	public Long getIdDistrito() {
		return idDistrito;
	}

	public void setIdDistrito(Long idDistrito) {
		this.idDistrito = idDistrito;
	}

	public String getFincaMatricula() {
		return fincaMatricula;
	}

	public void setFincaMatricula(String fincaMatricula) {
		this.fincaMatricula = fincaMatricula;
	}

	public TabRefDTO getEstado() {
		return estado;
	}

	public void setEstado(TabRefDTO estado) {
		this.setIdEstado(estado != null ? estado.getId() : null);
		this.estado = estado;
	}

	public TabRefDTO getTipoProtocolo() {
		return tipoProtocolo;
	}

	public void setTipoProtocolo(TabRefDTO tipoProtocolo) {
		this.setIdTipoProtocolo(tipoProtocolo != null ? tipoProtocolo.getId(): null);
		this.tipoProtocolo = tipoProtocolo;
	}

	public EscribanosDTO getEscribano() {
		return escribano;
	}

	public void setEscribano(EscribanosDTO escribano) {
		this.setIdEscribano(escribano != null ? escribano.getId() : null);
		this.escribano = escribano;
	}
}
